define(['jquery'], function($) {
	var $$ = {
		ajax: function(obj) {
			var xhr /* = new XMLHttpRequest() */ ,
				resp = '';
			if (window.XMLHttpRequest) {
				//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
				xhr = new XMLHttpRequest();
				xhr.onreadystatechange = function() {
					if (xhr.readyState == 4) {
						if (xhr.status >= 200 && xhr.status <= 300) {
							obj.success(JSON.parse(xhr.responseText));
							// return JSON.parse(xhr.responseText)
						} else {
							obj.error(JSON.parse(xhr.responseText));
							// console.log(xhr.status);
						}
					}
				};
			} else if (window.XDomainRequest) {
				xhr = new XDomainRequest();
				xhr.onload = function() {
					console.log("ie8");
					obj.success(xhr.responseText)
				}
			} else {
				// IE6, IE5 浏览器执行代码
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
				xhr.onreadystatechange = function() {
					if (xhr.readyState == 4) {
						if (xhr.status >= 200 && xhr.status <= 300) {
							obj.success(JSON.parse(xhr.responseText));
							// return JSON.parse(xhr.responseText)
						} else {
							obj.error(JSON.parse(xhr.responseText));
							// console.log(xhr.status);
						}
					}
				};
			}

			/*xhrReq.open(method, url, async, user, password); 
			 *method:「GET」、「POST」、「PUT」、「DELETE」、等
			 *async默认为true 
			 *user  可选的用户名用于认证用途；默认为null。
			 *password  可选的密码用于认证用途，默认为null。
			 */
			xhr.open(obj.type, obj.url , obj.asyncs, obj.user, obj.password );
			//请求头
			if (obj.headers) {
				for (var key in obj.headers) {
					xhr.setRequestHeader(key, obj.headers[key]);
				}
			}
			xhr.send(JSON.stringify(obj.data));
		}
	};
	return {
		$$:$$
	};
});
